package com.chem.search.entity;

import cn.hutool.core.util.NumberUtil;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.Date;
import java.io.Serializable;

/**
 * 产品信息表(MemProduct)实体类
 *
 * @author makejava
 * @since 2023-09-13 18:55:59
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("mem_product")
@Document(indexName = "mem_product")
public class MemProduct implements Serializable {
    private static final long serialVersionUID = -13171536478695424L;
    /**
     * id
     */
    @Id
    @Field(type = FieldType.Integer)
    private Integer id;
    /**
     * CAS号
     */
    @Field(type = FieldType.Text)
    private String casNo;
    /**
     * 产品名称【中文】
     */
    @Field(type = FieldType.Text)
    private String productNameCn;
    /**
     * 产品名称【英文】
     */
    @Field(type = FieldType.Text)
    private String productNameEng;
    /**
     * 包装规格
     */
    @Field(type = FieldType.Text)
    private String packageSpec;
    /**
     * 产品原价
     */
    @Field(type = FieldType.Double)
    private Double basePrice;
    /**
     * 产品售价
     */
    @Field(type = FieldType.Date)
    private Double salePrice;
    /**
     * 纯度
     */
    @Field(type = FieldType.Double)
    private Double purity;
    /**
     * 备注
     */
    @Field(type = FieldType.Text)
    private String remark;
    /**
     * 产品类别id
     */
    @Field(type = FieldType.Integer)
    private Integer catId;
    /**
     * 展台分类id
     */
    @Field(type = FieldType.Integer)
    private Integer standId;
    /**
     * 产地
     */
    @Field(type = FieldType.Text)
    private String productOrigin;
    /**
     * 品牌
     */
    @Field(type = FieldType.Text)
    private String brand;
    /**
     * 储存条件
     */
    @Field(type = FieldType.Text)
    private String storageConditions;
    /**
     * 关键词
     */
    @Field(type = FieldType.Text)
    private String keyword;
    /**
     * 产品价格信息
     */
    @Field(type = FieldType.Text)
    private String spec;
    /**
     * 最低起购量
     */
    @Field(type = FieldType.Integer)
    private Integer minBuyQuantity;
    /**
     * 可销售总数量
     */
    @Field(type = FieldType.Integer)
    private Integer saleTotal;
    /**
     * 标题
     */
    @Field(type = FieldType.Text)
    private String title;
    /**
     * 产品文档
     */
    @Field(type = FieldType.Text)
    private String productFileUrl;
    /**
     * 产品图片
     */
    @Field(type = FieldType.Text)
    private String picUrl;
    /**
     * 产品描述
     */
    @Field(type = FieldType.Text)
    private String describes;
    /**
     * 类型
     */
    @Field(type = FieldType.Text)
    private String type;
    /**
     * 产品个性化
     */
    @Field(type = FieldType.Text)
    private String attr;
    /**
     * 产品发布人id
     */
    @Field(type = FieldType.Integer)
    private Integer memberId;
    /**
     * 产品创建时间
     */
    @Field(type = FieldType.Date)
    private Date createTime;
    /**
     * 产品修改时间
     */
    @Field(type = FieldType.Date)
    private Date modifyTime;
    /**
     * 排序序号
     */
    @Field(type = FieldType.Integer)
    private Integer seqNo;
    /**
     * 置顶产品排序序号
     */
    @Field(type = FieldType.Integer)
    private Integer topSeq;
    /**
     * 优势产品排序序号
     */
    @Field(type = FieldType.Integer)
    private Integer advSeq;
    /**
     * 置顶产品设置时间
     */
    @Field(type = FieldType.Date)
    private Date topSetTime;
    /**
     * 优势产品设置时间
     */
    @Field(type = FieldType.Date)
    private Date advSetTime;
    /**
     * 现货设置时间
     */
    @Field(type = FieldType.Date)
    private Date spotsSetTime;
    /**
     * 大货设置时间
     */
    @Field(type = FieldType.Date)
    private Date maxProductSetTime;
    /**
     * 产品标签
     */
    @Field(type = FieldType.Text)
    private String flag;
    /**
     * 产品状态
     */
    @Field(type = FieldType.Integer)
    private Integer status;


}

